/*
 * Copyright 2018 JDCLOUD.COM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http:#www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Live-Video
 * 直播管理API
 *
 * OpenAPI spec version: v1
 * Contact: 
 *
 * NOTE: This class is auto generated by the jdcloud code generator program.
 */


using System;
using System.Collections.Generic;
using System.Text;
using JDCloudSDK.Core.Service;

using JDCloudSDK.Core.Annotation;

namespace  JDCloudSDK.Live.Apis
{

    /// <summary>
    ///  添加直播截图模板
    /// </summary>
    public class AddCustomLiveStreamSnapshotTemplateRequest : JdcloudRequest
    {
        ///<summary>
        /// 截图格式
        /// - 取值: jpg, png
        /// - 不区分大小写
        /// 
        ///Required:true
        ///</summary>
        [Required]
        public   string Format{ get; set; }
        ///<summary>
        /// 截图宽度
        /// - 取值: [8,8192]
        /// - 如果(width,height)只设置其中之一,则按所设置参数项等比缩放另一项输出截图
        /// - 如果(width,height)都不设置，则按源流大小输出截图
        /// 
        ///</summary>
        public   int? Width{ get; set; }
        ///<summary>
        /// 截图高度
        /// - 取值: [8,8192]
        /// - 如果(width,height)只设置其中之一,则按所设置参数项等比缩放另一项输出截图
        /// - 如果(width,height)都不设置，则按源流大小输出截图
        /// 
        ///</summary>
        public   int? Height{ get; set; }
        ///<summary>
        /// 截图与设定的宽高不匹配时的处理规则
        ///   1: 拉伸
        ///   2: 留黑
        ///   3: 留白
        ///   4: 高斯模糊
        /// - 1是按照设定宽高拉伸
        /// - 2,3,4是等比例的缩放多余或不足处按调置处理
        /// 
        ///Required:true
        ///</summary>
        [Required]
        public   int FillType{ get; set; }
        ///<summary>
        /// 截图周期
        /// - 取值范围 [5,3600]
        /// - 单位: 秒
        /// 
        ///Required:true
        ///</summary>
        [Required]
        public   int SnapshotInterval{ get; set; }
        ///<summary>
        /// 存储模式
        ///   1: 覆盖存储
        ///   2: 顺序存储
        /// 
        ///Required:true
        ///</summary>
        [Required]
        public   int SaveMode{ get; set; }
        ///<summary>
        /// 存储桶
        ///Required:true
        ///</summary>
        [Required]
        public   string SaveBucket{ get; set; }
        ///<summary>
        /// 存储地址
        ///</summary>
        public   string SaveEndpoint{ get; set; }
        ///<summary>
        /// 截图模板自定义名称:
        /// - 取值要求: 数字、大小写字母或短横线(&quot;-&quot;)、下划线(&quot;_&quot;),
        ///   首尾不能有特殊字符(&quot;-&quot;)
        ///   最大长度50个字符
        /// - &lt;b&gt;注意: 不能与已定义命名重复&lt;/b&gt;
        /// 
        ///Required:true
        ///</summary>
        [Required]
        public   string Template{ get; set; }
    }
}